/*
enhanced protocol (version 2): 

byte synch_1 // is always $a5 
byte synch_2 // is always $5a 
byte version // is 0x02 (tells the PC, which protocol is running) 
byte frame_counter // is 0x00 at startup. increment 1 for each data frame. wraparound 255->0 
byte ch1_high // bit pattern is 000000bb. bb are the 2 high bits of 10 bit AD-value
byte ch1_low
byte ch2_high // bit pattern is 000000bb. bb are the 2 high bits of 10 bit AD-value
byte ch2_low
byte ch3_high // bit pattern is 000000bb. bb are the 2 high bits of 10 bit AD-value
byte ch3_low
byte ch4_high // bit pattern is 000000bb. bb are the 2 high bits of 10 bit AD-value
byte ch4_low
byte ch5_high // bit pattern is 000000bb. bb are the 2 high bits of 10 bit AD-value
byte ch5_low
byte ch6_high // bit pattern is 000000bb. bb are the 2 high bits of 10 bit AD-value
byte ch6_low
byte switches // 1 byte digital inputs (PD2..PD5) in the lower 4 bits. 

all together 17 bytes per frame. 

Note that channel data high and low byte are swapped compared to the previous version. 
By this measure together with the unique pattern in synch_1 and synch_2 it is guaranteed, 
that re-synch (i.e after disconnecting the data line) is always safe and not just by chance.
*/